package com.itheima.loop;  // 声明包路径，用于组织代码结构

public class ForDemo1 {  // 定义公共类ForDemo1，类名与文件名保持一致
    public static void main(String[] args) {  // 定义主方法，程序的入口点
        // 目标：掌握for循环的书写，搞清楚其执行流程。  // 注释说明学习目标
        test1();  // 调用test1方法，执行for循环演示
    }

    public static void test1() {  // 定义公共静态方法test1，无需创建对象即可调用
        // 需求：使用for循环，打印3行HelloWorld  // 方法功能说明
        /**
         * 计算机先遇到for知道要开启循环，然后立即执行int i = 0
         * 接着判断循环条件 0 < 3，成立，执行循环体输出第一行HelloWorld，然后执行i++，i = 1
         * 接着判断循环条件 1 < 3，成立，执行循环体输出第二行HelloWorld，然后执行i++，i = 2
         * 接着判断循环条件 2 < 3，成立，执行循环体输出第三行HelloWorld，然后执行i++，i = 3
         * 接着判断循环条件 3 < 3，不成立，循环结束。
         */  // 多行注释详细解释for循环执行流程
        for (int i = 0; i < 3; i++) {  // for循环开始，包含三个部分：初始化、循环条件、更新表达式
            // int i = 0：声明并初始化循环变量i，仅执行一次
            // i < 3：循环条件判断，为true时执行循环体，为false时结束循环
            // i++：循环变量更新表达式，每次循环体执行完后执行
            System.out.println("HelloWorld");  // 循环体：输出字符串"HelloWorld"
        }  // for循环结束
        // System.out.println(i); // 报错  // 注释说明：i变量的作用域仅限于for循环内部，循环外无法访问

        System.out.println("=======================");  // 输出分隔线，用于区分不同的循环示例

        for (int i = 1; i < 6; i++) {  // 第二个for循环示例，从1开始计数
            // i = 1、2、3、4、5  // 注释说明循环变量i的取值范围
            System.out.println("HelloWorld");  // 循环体：输出字符串"HelloWorld"
        }  // for循环结束，总共执行5次

        System.out.println("=======================");  // 输出分隔线

        for (int i = 1; i <= 9; i+=2) {  // 第三个for循环示例，使用步长为2的递增
            // i = 1 3 5 7 9  // 注释说明循环变量i的取值，每次递增2
            // i+=2等同于i = i + 2，表示每次循环后i增加2
            System.out.println("HelloWorld");  // 循环体：输出字符串"HelloWorld"
        }  // for循环结束，总共执行5次
    }
}
